Data protection is a critical feature for storage systems. Popular techniques that are used to provide data protection for storage systems include Redundant Array of Independent Disks (RAID), Erasure Coding, Replication, etc. Replication, for example, may be embodied as a RAID-1 configuration (mirroring). Erasure coding may be expressed as a solution across multiple nodes rather than a single node.
There are two alternative approaches used today to provide RAID configurations—a software approach (SW RAID) and a hardware approach (HW RAID). SW RAIDs typically are embodied as a software module that runs on the same host where the storage system drives are physically present. HW RAIDs are often embodied as a controller Application Specific Integrated Circuit (ASIC), such as a RAID on Chip (ROC), that provides host connectivity to the drives of the storage system and that offloads the RAID computations from a host central processing unit (CPU).
Advantages of a SW RAID approach include a relatively low acquisition cost, because the SW RAID is usually integrated into the operation system (OS) of a host system, and ease to upgrade and/or change the RAID mechanism. Although the acquisition cost for a SW RAID may be relatively low, the acquisition cost may be lower per unit for an HW raid approach for a given performance point. Disadvantages of a SW RAID include that the SW RAID is operational after the host system boots (initializes). Any drive failures during boot could lead to a SW RAID not initiating, but such a disadvantage might be alleviated by implementing a RAID BIOS. Another disadvantage is that a SW RAID shares compute resources of the host system and, therefore, system performance may be adversely impacted. This disadvantage may be reduced by utilizing a relatively simple SW RAID algorithm. Still another disadvantage includes that a write-back cache cannot use battery backup and must be a write-through system. Yet another disadvantage of a SW RAID is that CPUs having a higher core count or having XOR instruction support could potentially increase the acquisition cost associated with such SW RAID systems.
Advantages of a HW RAID approach include offloading the dedicated computation and memory access RAID functionality from a host system CPU. Additionally, HW RAIDs include an ability to provide more complex RAID configurations, such as RAID 5 and RAID 6, thereby providing a relatively high performance-to-cost ratio. HW RAIDs are also protected at boot, and upgrade and/or migration to a different OS is relatively easy because HW RAIDs are OS agnostic. Disadvantages of the HW RAIDs include a performance that is limited by the performance of the ROC hardware, and HW RAIDs have a relatively high cost because an I/O processor and additional memory on, for example, a plug-in-type card, increases costs.